�� ������ Move Inner to Upper
Level �����丵 ������ ��ſ��� �������� overview�� �����ϰ� how �� �����丵�� IntelliJ IDEA���� ���� �� �ִ°��� �����մϴ�.
Move Inner to Upper �����丵�� ����ڿ��� ���� Ŭ������ ���� �������� �ű�� ���� ����մϴ�. �� �����, ���� Ŭ������ �� ���� ��������,
�׸��� ���� ������� Ŭ������ �ְ��� ���ؿ� ������ ���ο� ���Ͽ� �Ű����ϴ�. ��� �����ϴ� ������ �ڵ������� ������Ʈ�˴ϴ�.
���� Ŭ������ ������ �ƴϰ� �޼ҵ�� �ܺ� Ŭ������ �ʵ忡 ������ �ʿ�� �� ��쿡, �ܺ� Ŭ���� �ν��Ͻ��� �̵��ϴ� ���� Ŭ������ �����ڿ� �Ű� �����μ� �Ѿ �� �ֽ��ϴ�.
���� ���, �츮�� ���� �ڵ带 �����ϴ�:
public class OuterClass {
public void foo() {
//some code here
}
public class InnerClass {
public void innerClassMethod() {
foo();
}
}
}
Moving Inner to Upper �����丵 �Ŀ� OuterClass �ڵ�� ������ ���� ���� �� �Դϴ�:
public class OuterClass {
public void foo() {
//some code here
}
}
�׸��� �̰��� InnerClass �Դϴ� (���ο� ���Ͽ���):
class InnerClass {
private OuterClass outerClass;
public InnerClass(OuterClass outerClass) {
this .outerClass = outerClass;
}
public void innerClassMethod() {
outerClass.foo();
}
}
���ο��� ������������ �̵�
|
���� Ŭ������ ���� �������� �̵��ϱ� ���Ͽ�:
1. Project ���⿡��:
���� Ŭ������ �����ϰ� Ŭ���� ����� ������ ��ư Ŭ���Ͽ� �ҷ����� �˾� �޴����� Refactor
| Move... �� Ŭ���Ͻʽÿ�.

|
����� Ŭ������ �����ϱ� ���� � �ٸ� ���⸦ ����� �� �ֽ��ϴ�, ���� ��� Structure.
|
editor ���� :
���ϴ� Ŭ���� ���𿡼��� ij���� ��ġ�ϰ� �� �޴����� �Ǵ� �����Ϳ��� ������ ��ư�� Ŭ���ϴ� �Ϳ� ���� �ҷ����� �˾� �޴� ���� Refactor |
Move...�� Ŭ���Ͻʽÿ�.

|
����� ������ ���� Ŭ������ �ű���� �ϰ� ���� ��, ������ ���� Ŭ������ ���� �����丵�� �����ϸ� ����� ������ ���̾�α׸� �� ���Դϴ�:
|

���� ���� Ŭ������ �ٸ� Ŭ������ �Ű����� Move
Members
�����丵�� ���ʽÿ�.
2. Move
Inner to Upper Level ���̾��αװ� ��Ÿ�� ���Դϴ�:

Ŭ���� �̸�
|
�� �ؽ�Ʈ �ʵ忡�� ����� ���� Ŭ������ �̸��� ������ �� �ְų�, ������ �ϳ��� ����� �� �ֽ��ϴ�.
|
�Ű� �����μ� �ܺ� Ŭ������ �ν��Ͻ� �ѱ��
|
�� üũ �ڽ��� ���õ� �� Parameter
name
�ؽ�Ʈ �ʵ�� ��� �����ϰ� �ǰ� ����� �ܺ� Ŭ������ �Ű� ���� �̸��� ������ �� �ְų�, IDEA�� ���� ���ȵ� �ϳ��� ����� �� �ֽ��ϴ�.
���� �� üũ �ڽ��� ���õ��� ������ ���õ� Ŭ������ ���� ���� �� �Ͽ� �̵����� �����ϴ� ������ ������Ʈ�˴ϴ�.

|
���� �Ű����� Ŭ������ ������ ���̶�� �� üũ �ڽ��� �Ұ����ϰ� �ϰ� �˴ϴ�.
|
|
����� �̸� ���� ���
|
�� üũ �ڽ��� �����ϸ� ����� � ����� �߰ߵǾ����� �����ϰ�, �׵��� ��ü�� �����ϵ��� ����մϴ�. �� üũ �ڽ��� ���õ��� ���� ��, IDEA�� ��ü ��ɸ� �ڵ������� �����մϴ�.

|
������ üũ �ڽ��� ���õ��� �ʾ��� ����, ���� �߰ߵ� ����� � �б� ���� ���Ͽ��� �����ϸ� ��ü ����� Ȯ���ϴ� ������Ʈ�� ��ſ� ���� �� �Դϴ�.
|
Refactoring
Preview ���̾�α׿��� (���� �װ��� ��Ÿ����) ����� ����� ������ �м��� �� �ֽ��ϴ�. �����丵�� �Բ� �����ϱ� ���ؼ�, Do
Refactor�� Ŭ���մϴ�, �׷��� �ʴٸ� Cancel �� Ŭ���մϴ�. ���� ���� ������ Refactoring
Preview�� ���ʽÿ�.
|
|
3. OK�� �����ϴ�, �׸��� ���ϴ� Ŭ������ �̵��� ���Դϴ�.
|